

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<script type="text/javascript" src="helpman_topicinit.js"></script>

<title>Enterprise Architect Add-In Model  [Enterprise Architect User Guide]</title>

<meta name="keywords" content="Enterprise Architect, Sparx Systems, UML, Enterprise Architect,Enterprise Architect Add-In Model,Add-In Model,Add-In Model Introduction,Add-In Model Benefits,Add-In Model Interface">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />

<link type="text/css" href="default.css" rel="stylesheet" />
<style type="text/css">
  A, A:Visited
  {
    color: #00F;
  }

  A:Active, A:Hover
  {
    color: #F00;
  }

  OL
  {
    margin: 5px 0 5px 48px;
  }

  UL
  {
    margin-bottom: 3px;
    margin-top: 0;
  }

  #nsr
  {
    background-color: #D4DFFF;
  }

  #nsr A
  {
    text-decoration: none;
  }

  #mainbody
  {
    padding: 8px;
  }

  .p_BodyText
  {
    padding: 5px 0;
  }
</style>



<style type="text/css" media="screen">
  BODY
  {
    background-color: #FFFFFF;
  }

  #nsr
  {
    padding: 6px 6px 0 6px;
    border-bottom: none;
    vertical-align: top;
    z-index: 2;
    visibility: visible;
    left: 0;
    top: 0;
    position: absolute;
  }

  #mainbody
  {
    left: 0;
    top: 0;
    margin: 0;
    position: absolute;
    padding: 10px;
    overflow: auto;
    height: 100%;
    z-index: 1;
    background-repeat: no-repeat;
    background-position: bottom right;
    background-attachment: fixed;
  }
</style>

<style type="text/css" media="print">
  #nsr
  {
    visibility: none;
  }

  #mainbody
  {
    overflow: visible;
  }
</style>
<script type="text/javascript" language="JavaScript" src="nonscroll.js"></script>

</head>
<body scroll="no">

<div id="page">



        <div id="content">
          <div id="content-inner">
          



  
          <div id="nsr">
            <table border="0" cellspacing="0" cellpadding="4" width="100%">
              <tr valign="top">
                <td align="left">
  


                  <p class="p_Heading1"><span class="f_Heading1">Enterprise Architect Add-In Model</span></p>



  
                </td>
                <td align="right">
                  <a href="introduction.htm" onmouseover="document.images.main.src='button_main_h.gif'" onmouseout="document.images.main.src='button_main.gif'">
                    <img name="main" src="button_main.gif" border=0 alt="Return to Introduction">
                  </a>&nbsp;
    
                  <a href="creatingtemplatesforcustom.htm" onmouseover="document.images.prev.src='button_prev_h.gif'" onmouseout="document.images.prev.src='button_prev.gif'">
                    <img name=prev src="button_prev.gif" border=0 alt="Previous page" />
                  </a>&nbsp;
    
    
    
                  <a href="usingadd_ins.htm" onmouseover="document.images.next.src='button_next_h.gif'" onmouseout="document.images.next.src='button_next.gif'">
                    <img name=next src="button_next.gif" border=0 alt="Next page" />
                  </a>
    
    
                </td>
              </tr>
            </table>
          </div>
          <div id="mainbody">
  


                <p class="p_TextIndentedL1"><img src="enterprise_architect_add_in_model.png" width="291" height="100" border="0" alt="enterprise_architect_add_in_model"></p>
<p class="p_SubHeadingL1"><span class="f_SubHeadingL1">Introduction</span></p>
<p class="p_BodyText"><span class="f_BodyText">Add-Ins enable you to add functionality to Enterprise Architect. The Enterprise Architect Add-In model builds on the features provided by the <a href="theautomationinterface.htm">Automation Interface</a> to enable you to extend the Enterprise Architect user interface.</span></p>
<p class="p_BodyText"><span class="f_BodyText">Add-Ins are ActiveX COM objects that expose public Dispatch methods. They have several advantages over stand-alone automation clients:</span></p>
<ul style="text-indent: 0px; margin-left: 30px; list-style-position: outside;">
<li><span class="f_Bulletlist1">Add-Ins can define Enterprise Architect menus and sub-menus</span></li>
<li><span class="f_Bulletlist1">Add-Ins receive notifications about various Enterprise Architect user-interface events including menu clicks and file changes</span></li>
<li><span class="f_Bulletlist1">Add-Ins can (and should) be written as in-process (DLL) components. This provides lower call overhead and better integration into the Enterprise Architect environment</span></li>
<li><span class="f_Bulletlist1">Because a current version of Enterprise Architect is already running there is no requirement to start a second copy of Enterprise Architect via the automation interface</span></li>
<li><span class="f_Bulletlist1">Because the Add-In receives object handles associated with the currently running copy of Enterprise Architect, more information is available about the current user's activity; for example, which diagram objects are selected</span></li>
<li><span class="f_Bulletlist1">You are not required to do anything other than to install the Add-In to make it usable; that is, you do not have to configure Add-Ins to run on your systems.</span></li>
</ul>
<p class="p_BodyText"><span class="f_BodyText">Because Enterprise Architect is constantly evolving in response to customer requests, the Add-In interface is flexible:</span></p>
<ul style="text-indent: 0px; margin-left: 30px; list-style-position: outside;">
<li><span class="f_Bulletlist1">The Add-In interface does not have its own version, rather it is identified by the version of Enterprise Architect it first appeared in; for example, the current version of the Enterprise Architect Add-In interface is version 2.1.</span></li>
<li><span class="f_Bulletlist1">When creating your Add-In, you do not have to subscribe to a type-library.</span></li>
</ul>
<div style="text-align: left; text-indent: -17px; padding: 0px 0px 0px 0px; margin: 3px 0px 0px 30px;"><table cellspacing="0" cellpadding="2" border="0" style="border: none; border-spacing:0px;">
<tr style="text-align:left;vertical-align:bottom;">
<td valign="bottom" width="952" bgcolor="#efeff7" style="width:952px; background-color:#efeff7;"><p class="p_TiporNote" style="border-top: none; border-right: none; border-left: none;"><span class="f_TiporNote">Note:</span></p>
</td>
</tr>
<tr style="text-align:left;">
<td width="952" bgcolor="#f7f7ff" style="width:952px; background-color:#f7f7ff;"><p class="p_TiporNoteText"><span class="f_TiporNoteText">From Enterprise Architect release 7.0 Add-Ins created before 2004 are no longer supported. If an Add-In subscribes to the </span><span class="f_TiporNoteText" style="font-style: italic;">Addn_Tmpl.tlb</span><span class="f_TiporNoteText"> </span><span class="f_TiporNoteText">interface (2003 style), it will fail on load. In this event, contact the vendor or author of the Add-In and request an upgrade.</span></p>
</td>
</tr>
</table>
</div>
<ul style="text-indent: 0px; margin-left: 30px; list-style-position: outside;">
<li><span class="f_Bulletlist1">Add-Ins do not have to implement methods that they never use.</span></li>
<li><span class="f_Bulletlist1">Add-Ins prompt users via context menus in the tree view and the diagram.</span></li>
</ul>
<ul style="text-indent: 0px; margin-left: 30px; list-style-position: outside;">
<li><span class="f_Bulletlist1">Menu check and disable states can be controlled by the Add-In.</span></li>
</ul>
<p class="p_BodyText"><span class="f_BodyText">Add-Ins enhance the existing functionality of Enterprise Architect through a variety of mechanisms such as <a href="umlprofiles_2.htm">UML Profiles</a> and the <a href="theautomationinterface.htm">Automation Interface</a>. Once an Add-In is <a href="registeradd_in.htm">registered</a>, it can be managed using the <a href="addinmanager.htm">Add-In Manager</a>.</span></p>
<p class="p_SubHeadingL1"><span class="f_SubHeadingL1">Create and Use Add-Ins</span></p>
<p class="p_BodyText"><span class="f_BodyText">This topic covers the following information on Add-Ins:</span></p>
<ul style="text-indent: 0px; margin-left: 30px; list-style-position: outside;">
<li><span class="f_Bulletlist1"><a href="usingadd_ins.htm">Add-In Tasks</a></span></li>
<li><span class="f_Bulletlist1"><a href="eaaddintemplateobject.htm">Add-In Events</a></span></li>
<li><span class="f_Bulletlist1"><a href="broadcastevents.htm">Broadcast Events</a></span></li>
<li><span class="f_Bulletlist1"><a href="customviews.htm">Custom Views</a></span></li>
<li><span class="f_Bulletlist1"><a href="mdgadd_ins.htm">MDG Add-Ins</a></span></li>
</ul>




            </div>
          </div>
        </div>



</div>


</body>
</html>
